import random

# 初始化国家信息
country = {
    "国库": 10000,
    "军队数量": 5000,
    "百姓满意度": 50,
    "官员忠诚度": 50
}

# 事件列表
events = [
    {
        "name": "旱灾",
        "description": "国内发生旱灾，庄稼欠收，百姓生活困苦。",
        "effect": {
            "国库": -2000,
            "百姓满意度": -15
        }
    },
    {
        "name": "外敌入侵",
        "description": "有外敌入侵我国边境，军队需抵御。",
        "effect": {
            "军队数量": -500,
            "国库": -3000
        }
    },
    {
        "name": "官员贪污",
        "description": "有官员贪污受贿，损害国家利益。",
        "effect": {
            "国库": -1500,
            "官员忠诚度": -10
        }
    },
    {
        "name": "丰收年",
        "description": "今年是丰收年，国库收入增加，百姓满意度提升。",
        "effect": {
            "国库": 3000,
            "百姓满意度": 10
        }
    },
    {
        "name": "名将投效",
        "description": "有一位名将前来投效，军队实力增强。",
        "effect": {
            "军队数量": 1000
        }
    }
]


# 显示国家状态
def show_country_status():
    print("国家当前状态：")
    print(f"国库: {country['国库']} 两白银")
    print(f"军队数量: {country['军队数量']} 人")
    print(f"百姓满意度: {country['百姓满意度']}")
    print(f"官员忠诚度: {country['官员忠诚度']}")


# 处理事件
def handle_event():
    event = random.choice(events)
    print(event["description"])
    for key, value in event["effect"].items():
        country[key] += value
        if country[key] < 0:
            country[key] = 0
    print("事件处理完毕，国家状态已更新。")


# 发展经济
def develop_economy():
    cost = 2000
    if country["国库"] >= cost:
        country["国库"] -= cost
        country["国库"] += 5000
        country["百姓满意度"] += 5
        print("投入 2000 两白银发展经济，国库增加 5000 两白银，百姓满意度提升 5 点。")
    else:
        print("国库资金不足，无法发展经济。")


# 扩充军队
def expand_army():
    cost = 3000
    if country["国库"] >= cost:
        country["国库"] -= cost
        country["军队数量"] += 1000
        print("投入 3000 两白银扩充军队，军队数量增加 1000 人。")
    else:
        print("国库资金不足，无法扩充军队。")


# 安抚百姓
def soothe_people():
    cost = 1500
    if country["国库"] >= cost:
        country["国库"] -= cost
        country["百姓满意度"] += 10
        print("投入 1500 两白银安抚百姓，百姓满意度提升 10 点。")
    else:
        print("国库资金不足，无法安抚百姓。")


# 整顿官员
def rectify_officials():
    cost = 1000
    if country["国库"] >= cost:
        country["国库"] -= cost
        country["官员忠诚度"] += 15
        print("投入 1000 两白银整顿官员，官员忠诚度提升 15 点。")
    else:
        print("国库资金不足，无法整顿官员。")


# 检查游戏是否结束
def check_game_over():
    if country["百姓满意度"] <= 0:
        print("百姓怨声载道，揭竿而起，你失去了皇位，游戏结束！")
        return True
    elif country["军队数量"] <= 0:
        print("军队全军覆没，国家被外敌侵占，你失去了皇位，游戏结束！")
        return True
    elif country["国库"] <= 0:
        print("国库空虚，国家无法运转，你失去了皇位，游戏结束！")
        return True
    return False


# 主游戏循环
while True:
    show_country_status()
    print("\n请选择操作：")
    print("1. 处理随机事件")
    print("2. 发展经济")
    print("3. 扩充军队")
    print("4. 安抚百姓")
    print("5. 整顿官员")
    print("6. 结束游戏")
    choice = input("请输入选项编号：")
    if choice == "1":
        handle_event()
    elif choice == "2":
        develop_economy()
    elif choice == "3":
        expand_army()
    elif choice == "4":
        soothe_people()
    elif choice == "5":
        rectify_officials()
    elif choice == "6":
        print("游戏结束，感谢你的参与！")
        break
    else:
        print("无效的选项，请重新输入。")
    if check_game_over():
        break